# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/17 18:25 
@Author  : ZhangShenao 
@File    : series.py
@Desc    : Numpy库基础操作

NumPy是一个功能非常强大的Python库
它的全称是"Numeric Python"
主要用来计算、处理一维或多维数组

NumPy库有以下几个特点:
1. Numpy底层使用C语言编写,执行效率远高于纯Python代码
2. 它可以很方便地处理多维数组
3. 具有实用的线性代数、数学计算功能

"""
import cProfile

import numpy as np


def gen_square_list_by_raw_python(n: int) -> list[int]:
    """使用纯Python代码,生成平方数列表"""
    nums = []

    for i in range(0, n + 1):
        nums.append(i ** 2)

    return nums


def gen_square_list_by_numpy(n: int) -> list[int]:
    """使用Numpy库,生成平方数列表"""

    arr = np.arange(0, n + 1)
    return list(arr)


if __name__ == '__main__':
    # 使用纯Python代码: 0.034 seconds
    cProfile.run('gen_square_list_by_raw_python(100000)')

    # 使用Numpy库: 0.005 seconds
    # cProfile.run('gen_square_list_by_numpy(100000)')
